package VISTA;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;

import bean.JTextFieldValidator;

import CONTROLADOR.ControladorIngredientes;
import MODELO.ModeloIngrediente;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class frmIngredientes extends javax.swing.JFrame {
	private JPanel pnlIngredientes;
	private JLabel lblCodigoIngredientes;
	private JTextField txtDescripcionIngredientes;
	private JLabel lblStockMinimo;
	private JButton btnRegistrarNuevoIng;
	private JTable tblIngredientes;
	private JScrollPane scpCategorias;
	private JButton btnRegistrarCompra;
	private JButton btnCancelarNuevoIng;
	private JButton btnAceptar;
	private JButton btnCancelarEntrada;
	private JButton btnProcesar;
	private JLabel lblGuion;
	private JTextField txtCantidad;
	private JLabel lblCantidad;
	private JLabel lblDescripcionEntrada;
	private JLabel jLabel1;
	private JPanel pnlEntradaIngrediente;
	private JScrollPane scpIngredientes;
	private JPanel pnlNuevoIngrediente;
	private  JTextFieldValidator txtStockMinimo;
	private JLabel lblDescripcion;
	private  JTextFieldValidator txtCodigoIngrediente;

	private ControladorIngredientes ctrlIngredientes;
	private DefaultTableModel modelo;
	
	public frmIngredientes() {
		super("Registro de Ingredientes");
		initGUI();
	}
	
	
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				pnlIngredientes = new JPanel();
				getContentPane().add(pnlIngredientes, BorderLayout.CENTER);
				pnlIngredientes.setLayout(null);
				pnlIngredientes.setBackground(new java.awt.Color(255,255,255));
				pnlIngredientes.setPreferredSize(new java.awt.Dimension(1107, 601));
				{
					pnlNuevoIngrediente = new JPanel();
					pnlNuevoIngrediente.setBorder(BorderFactory.createTitledBorder("Nuevo Ingrediente"));
					pnlIngredientes.add(pnlNuevoIngrediente);
					pnlNuevoIngrediente.setLayout(null);
					pnlNuevoIngrediente.setBounds(19, 14, 912, 174);
					pnlNuevoIngrediente.setBackground(new java.awt.Color(228,196,116));
		
					{
						txtStockMinimo = new  JTextFieldValidator(JTextFieldValidator.SOLO_NUMEROS);
						pnlNuevoIngrediente.add(txtStockMinimo);
						txtStockMinimo.setBounds(140, 89, 140, 27);
						txtStockMinimo.setEnabled(false);
					}
					{
						lblStockMinimo = new JLabel();
						pnlNuevoIngrediente.add(lblStockMinimo);
						lblStockMinimo.setText("Stock:");
						lblStockMinimo.setBounds(43, 87, 99, 29);
					}
					{
						txtDescripcionIngredientes = new JTextField();
						pnlNuevoIngrediente.add(txtDescripcionIngredientes);
						txtDescripcionIngredientes.setBounds(540, 45, 194, 29);
						txtDescripcionIngredientes.setEnabled(false);
					}
					{
						lblDescripcion = new JLabel();
						pnlNuevoIngrediente.add(lblDescripcion);
						lblDescripcion.setText("Descripcion:");
						lblDescripcion.setBounds(352, 45, 93, 26);
					}
					{
						txtCodigoIngrediente = new  JTextFieldValidator( JTextFieldValidator.SOLO_NUMEROS);
						pnlNuevoIngrediente.add(txtCodigoIngrediente);
						txtCodigoIngrediente.setBounds(140, 42, 140, 27);
						txtCodigoIngrediente.setEnabled(false);
					}
					{
						lblCodigoIngredientes = new JLabel();
						pnlNuevoIngrediente.add(lblCodigoIngredientes);
						lblCodigoIngredientes.setText("Codigo:");
						lblCodigoIngredientes.setBounds(43, 41, 97, 27);
					}
					{
						btnAceptar = new JButton();
						pnlNuevoIngrediente.add(btnAceptar);
						btnAceptar.setText("Aceptar");
						btnAceptar.setBounds(765, 32, 112, 32);
						btnAceptar.setActionCommand("Aceptar");
						btnAceptar.setEnabled(false);
					}
					{
						btnCancelarNuevoIng = new JButton();
						pnlNuevoIngrediente.add(btnCancelarNuevoIng);
						btnCancelarNuevoIng.setText("Cancelar");
						btnCancelarNuevoIng.setBounds(765, 85, 112, 31);
						btnCancelarNuevoIng.setActionCommand("Cancelar");
						btnCancelarNuevoIng.setEnabled(false);
					}
				}
				{
					scpIngredientes = new JScrollPane();
					pnlIngredientes.add(scpIngredientes);
					scpIngredientes.setBounds(19, 220, 762, 195);
					{
						scpCategorias = new JScrollPane();
						scpIngredientes.setViewportView(scpCategorias);
						scpCategorias.setBounds(18, 260, 471, 140);
						{
							TableModel tblCategoriasModel = 
								new DefaultTableModel(
										new String[][] { { "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" },{ "", "" }, { "", "" } },
										new String[] { "Codigo", "Ingrediente", "Stock" });
							tblIngredientes = new JTable();
							scpCategorias.setViewportView(tblIngredientes);
							tblIngredientes.setModel(tblCategoriasModel);
						}
					}
				}
				{
					pnlEntradaIngrediente = new JPanel();
					pnlEntradaIngrediente.setBorder(BorderFactory.createTitledBorder("Entrada de Ingredientes"));
					pnlIngredientes.add(pnlEntradaIngrediente);
					pnlEntradaIngrediente.setVisible(false);
					pnlEntradaIngrediente.setLayout(null);
					pnlEntradaIngrediente.setBounds(19, 449, 915, 126);
					pnlEntradaIngrediente.setBackground(new java.awt.Color(228,196,116));
					{
						jLabel1 = new JLabel();
						pnlEntradaIngrediente.add(jLabel1);
						jLabel1.setText("Descripcion:");
						jLabel1.setBounds(17, 39, 98, 24);
					}
					{
						lblDescripcionEntrada = new JLabel();
						pnlEntradaIngrediente.add(lblDescripcionEntrada);
						lblDescripcionEntrada.setBounds(199, 44, 158, 24);
					}
					{
						lblCantidad = new JLabel();
						pnlEntradaIngrediente.add(lblCantidad);
						lblCantidad.setText("Cantidad a Ingresar:");
						lblCantidad.setBounds(17, 75, 182, 32);
					}
					{
						txtCantidad = new JTextFieldValidator(JTextFieldValidator.SOLO_NUMEROS);
						pnlEntradaIngrediente.add(txtCantidad);
						txtCantidad.setBounds(199, 80, 139, 29);
					}
					{
						lblGuion = new JLabel();
						pnlEntradaIngrediente.add(lblGuion);
						lblGuion.setBounds(304, 84, 38, 15);
						lblGuion.setFont(new java.awt.Font("Bitstream Charter",1,28));
					}
					{
						btnProcesar = new JButton();
						pnlEntradaIngrediente.add(btnProcesar);
						btnProcesar.setText("Procesar");
						btnProcesar.setBounds(499, 42, 173, 36);
						btnProcesar.setActionCommand("Procesar");
					}
					{
						btnCancelarEntrada = new JButton();
						pnlEntradaIngrediente.add(btnCancelarEntrada);
						btnCancelarEntrada.setText("Cancelar Entrada");
						btnCancelarEntrada.setBounds(688, 42, 170, 36);
						btnCancelarEntrada.setActionCommand("CancelarE");
					}
				}
				{
					btnRegistrarCompra = new JButton();
					pnlIngredientes.add(btnRegistrarCompra);
					btnRegistrarCompra.setText("Realizar Compra");
					btnRegistrarCompra.setBounds(814, 328, 154, 38);
					btnRegistrarCompra.setActionCommand("Compra");
				}
				{
					btnRegistrarNuevoIng = new JButton();
					pnlIngredientes.add(btnRegistrarNuevoIng);
					btnRegistrarNuevoIng.setText("Registrar Nuevo");
					btnRegistrarNuevoIng.setBounds(814, 252, 154, 42);
				}
			}
			pack();
			this.setSize(994, 622);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	public void addListener(ActionListener actionListener){
		this.btnCancelarEntrada.addActionListener(actionListener);
		this.btnCancelarNuevoIng.addActionListener(actionListener);
		this.btnRegistrarCompra.addActionListener(actionListener);
		this.btnRegistrarNuevoIng.addActionListener(actionListener);
		this.btnProcesar.addActionListener(actionListener);
		this.btnAceptar.addActionListener(actionListener);
		
	}
	
	
	
	public JTable getTblIngredientes() {
		return tblIngredientes;
	}



	public void setTblIngredientes(JTable tblIngredientes) {
		this.tblIngredientes = tblIngredientes;
	}



	public void limpiarNuevo(){
		this.txtDescripcionIngredientes.setText("");
		this.txtStockMinimo.setText("");
		this.txtCodigoIngrediente.setText("");
	}
	
	public void limpiarEntrada(){
		this.txtCantidad.setText("");
		this.lblDescripcionEntrada.setText("");
	}
	
	public void bloquearNuevo(){
		this.txtCodigoIngrediente.setEnabled(false);
		this.txtDescripcionIngredientes.setEnabled(false);
		this.txtStockMinimo.setEnabled(false);
		this.btnAceptar.setEnabled(false);
		this.btnCancelarNuevoIng.setEnabled(false);
	}
	
	public void habilitarNuevo(){
		this.txtCodigoIngrediente.setEnabled(true);
		this.txtDescripcionIngredientes.setEnabled(true);
		this.txtStockMinimo.setEnabled(true);
		this.btnAceptar.setEnabled(true);
		this.btnCancelarNuevoIng.setEnabled(true);
	}
	
	public void bloquearEntrada(){
		this.txtCantidad.setEnabled(false);
		this.pnlEntradaIngrediente.setVisible(false);
	}
	
	public void habilitarEntrada(){
		this.txtCantidad.setEnabled(true);
		this.pnlEntradaIngrediente.setVisible(true);
	}
	
	
	public JTextField getTxtDescripcionIngredientes() {
		return txtDescripcionIngredientes;
	}

	public JTextField getTxtStockMinimo() {
		return txtStockMinimo;
	}

	public JTextField getTxtCodigoIngrediente() {
		return txtCodigoIngrediente;
	}
	
	public JTextField getTxtCantidad() {
		return txtCantidad;
	}
	
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje);
	}



	public JLabel getLblDescripcionEntrada() {
		return lblDescripcionEntrada;
	}



	public void setLblDescripcionEntrada(JLabel lblDescripcionEntrada) {
		this.lblDescripcionEntrada = lblDescripcionEntrada;
	}



	





	
}
